@mixin normalize() {
  font-weight: normal;

  p {
    line-height: 1.3;
  }

  /* Ensure certain elements are never larger than the slide itself */
  img,
  video,
  iframe {
    max-width: 95%;
    max-height: 95%;
  }

  strong,
  b {
    font-weight: bold;
  }

  em {
    font-style: italic;
  }

  ol,
  dl,
  ul {
    display: inline-block;
    margin-block: 0;
    margin-inline: 1em 0;
    text-align: start;
  }

  ol {
    list-style-type: decimal;
  }

  ul ul,
  ul ol,
  ol ol,
  ol ul {
    display: block;
    margin-left: 2.5rem;
  }

  ul {
    list-style-type: disc;

    ul {
      list-style-type: square;

      ul {
        list-style-type: circle;
      }
    }
  }

  dt {
    font-weight: bold;
  }

  dd {
    margin-left: 2.5rem;
  }

  blockquote {
    position: relative;

    display: block;

    width: 70%;
    padding: 5px;

    background: rgb(255 255 255 / 5%);
    box-shadow: 0 0 2px rgb(0 0 0 / 20%);

    font-style: italic;

    p {
      &:first-child,
      &:last-child {
        display: inline-block;
      }
    }
  }

  q {
    font-style: italic;
  }

  pre {
    position: relative;

    display: block;

    width: 90%;
    padding: 0;

    box-shadow: 0 5px 15px rgb(0 0 0 / 15%);

    font-size: 0.55em;
    line-height: 1.2em;
    text-align: left;
    word-wrap: break-word;
  }

  code {
    text-transform: none;
  }

  pre code {
    display: block;

    overflow: auto;

    max-height: 400px;
    padding: 5px;

    word-wrap: normal;
  }

  a {
    text-decoration: none;
    transition: color 0.15s ease;

    &:hover {
      border: none;
      text-shadow: none;
    }
  }

  table {
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse;
  }

  th {
    font-weight: bold;
  }

  th,
  td {
    padding: 0.2em 0.5em;
    border-bottom: 1px solid;
    text-align: left;

    &[align='center'] {
      text-align: center;
    }

    &[align='right'] {
      text-align: right;
    }
  }

  tbody tr:last-child {
    th,
    td {
      border-bottom: none;
    }
  }

  sup {
    vertical-align: super;
    font-size: smaller;
  }

  sub {
    vertical-align: sub;
    font-size: smaller;
  }

  small {
    display: inline-block;
    vertical-align: top;
    font-size: 0.6em;
    line-height: 1.2em;

    * {
      vertical-align: top;
    }
  }
}
